home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-01 / network.zip / SOURCE.ZIP / SETNAME.ASM < prev   
Assembly Source File  |  1989-12-01  |  4KB  |  129 lines

  1.  
  2.                 .MODEL small
  3.  
  4. StdIn           =       0000
  5. StdOut          =       0001
  6. StdErr          =       0002
  7.  
  8.                 .DATA
  9. MachineName     DB      15 Dup(' ')
  10.                 DB      0
  11.  
  12. CheckName       DB      15 Dup(' ')
  13.                 DB      0
  14.  
  15. Usage           DB      13, 10
  16.                 DB      "USAGE: SetName <machinename>"
  17.                 DB      13, 10
  18.                 DB      "<machinename> can be up to 15 characters long."
  19.                 DB      13, 10
  20. UsageL          =       $-Usage
  21.  
  22. Success         DB      13, 10
  23.                 DB      "SetName ended successfully."
  24.                 DB      13, 10
  25. SuccessL        =       $-Success
  26.  
  27. ErrorMsg        DB      13, 10
  28.                 DB      "SetName ended due to error.  Machine Name not set."
  29.                 DB      13, 10
  30. ErrorMsgL       =       $-ErrorMsg
  31.  
  32.                 .STACK  200h
  33.  
  34.                 .CODE
  35. NoCmdLine:      Mov     DX, Offset Usage
  36.                 Mov     BX, StdErr
  37.                 Mov     CX, UsageL
  38.                 Mov     AX, 4000h
  39.                 Int     21h
  40.  
  41. Exit:
  42.                 Mov     AX, 4C00h
  43.                 Int     21h
  44.  
  45. ; -------------------------------------------
  46.  
  47. Start:          Mov     AX, @Data
  48.                 Mov     DS, AX
  49.  
  50.                 Mov     DI, 0081h
  51.                 Mov     BX, 0
  52.                 Mov     CX, 0
  53.                 Mov     CL, ES:[0080h]
  54.  
  55. FindStart:      JCXZ    NoCmdLine
  56.                 Cmp     Byte Ptr ES:[DI], 20h
  57.                 JE      NextChar
  58.                 Cmp     Byte Ptr ES:[DI], 22h
  59.                 JE      NextChar
  60.                 Cmp     Byte Ptr ES:[DI], 27h
  61.                 JE      NextChar
  62.  
  63.                 Jmp     MoveCmdLine
  64.  
  65. NextChar:       Inc     DI
  66.                 Dec     CX
  67.                 Jmp     FindStart
  68.  
  69. MoveCmdLine:    JCXZ    GotName
  70.                 Cmp     BX, 15
  71.                 JE      GotName
  72.                 Mov     AL, ES:[DI]
  73.                 Cmp     AL, 0Dh
  74.                 JE      GotName
  75.                 Cmp     AL, 20h
  76.                 JE      GotName
  77.                 Cmp     AL, 22h
  78.                 JE      GotName
  79.                 Cmp     AL, 27h
  80.                 JE      GotName
  81.  
  82.                 Mov     MachineName [BX], AL
  83.                 Inc     DI
  84.                 Inc     BX
  85.                 Dec     CX
  86.                 Jmp     MoveCmdLine
  87.  
  88. GotName:        Mov     AX, 5E01h
  89.                 Mov     CX, 0101h
  90.                 Mov     DX, Offset MachineName
  91.                 Int     21h
  92.                 JC      DidntWork
  93.  
  94.                 Mov     AX, 5E00h
  95.                 Mov     DX, Offset CheckName
  96.                 Int     21h
  97.                 JC      DidntWork
  98.  
  99.                 Push    DS
  100.                 Pop     ES
  101.                 Mov     SI, Offset MachineName
  102.                 Mov     DI, Offset CheckName
  103.                 Mov     CX, 15
  104.         Repe    CmpSB
  105.                 JNE     DidntWork
  106.  
  107.                 Mov     DX, Offset Success
  108.                 Mov     BX, StdErr
  109.                 Mov     CX, SuccessL
  110.                 Mov     AX, 4000h
  111.                 Int     21h
  112.  
  113.                 Mov     AX, 4C00h
  114.                 Int     21h
  115.  
  116. DidntWork:      Mov     DX, Offset ErrorMsg
  117.                 Mov     BX, StdErr
  118.                 Mov     CX, ErrorMsgL
  119.                 Mov     AX, 4000h
  120.                 Int     21h
  121.  
  122.                 Mov     AX, 4C00h
  123.                 Int     21h
  124.  
  125.                 End     Start
  126.  
  127.  
  128.  
  129.